# -*- coding: utf-8 -*-
"""
Created on Thu Aug 24 07:20:10 2023

@author: skunk69
"""

import json

chinese_name = u'Young躁狂评定量表'
english_name = 'Young Mania Rating Scale'
abbreviation = 'YMRS'
category = u'精神病学临床量表'

outline = u"""双相情感障碍（BD）又名双相障碍，是一种既有躁狂症发作，又有抑郁症发作（典型特征）的常见精神障碍，首次发病可见于任何年龄。当躁狂发作时，患者有情感高涨、言语活动增多、精力充沛等表现；而当抑郁发作时，患者又常表现出情绪低落、愉快感丧失、言语活动减少、疲劳迟钝等症状。《杨氏躁狂量表》是美国精神医学家杨氏(R.C.Young)1978年编制的他评量表，它是一个用于评价诊断为双相情感障碍患者中躁狂严重程度的量表，是症状分级量表。"""

instruction = u""""""

with open('YMRS.txt','r',encoding='utf-8') as f:
    lines = f.readlines()
    f.close()

items = {}
rating = {}
score_rules = {}
for num,line in enumerate(lines[::6]):
    key,value = line.strip().split('.',maxsplit=1)
    items[key.strip()] = value.strip()
    lines_rate = lines[num*6+1:(num+1)*6]
    rate = []
    score = []
    for line in lines_rate:
        rate.append(line.strip())
        k,v = line.strip().split(maxsplit=1)
        score.append(int(k)) 
    rating[num+1] = rate
    score_rules[num+1] = score

reverse_items = []
scales = []
scales_items = []
factors = []
factors_scales = []

contents = {
    'instruction':instruction,
    'items':items,
    'reverse_items':reverse_items,
    'scales':scales,
    'scales_items':scales_items,
    'factors':factors,
    'factors_scales':factors_scales,
    'rating':rating,
    'score_rules':score_rules       
    }

implementation = u"""《杨氏躁狂量表》是一个他评量表。评定注意事项如下：
评定员须由经过量表训练的精神科医师担任。
评定时间范围一般定为最近48小时，也可根据需要扩展评定时间范围，但需注明，一般也仅扩展到一周，评定应结合2天内所观察到的情况和检查当时的情况，更权重后者。
一次YMRS检查需时15~30分钟。
各条目的评分范围不完全一样，有的为0~4，有的为0~8。这样做的原因是：当Young制订该量表时，他意识到必须给那些不一定合作的患者评定分数，第5、6、8、9条目比其他条目多一倍的分数等级，就是要保证对于那些不太合作的患者，能够有足够的分数来显示其症状严重程度。"""

reliability = u"""据原作者报告，YMRS的评定员间有很好的一致性，两评定员评出总分的相关系数达0.93，各条目的相关系数在0.66~0.92之间。总分与同时评定的临床医师病情总评和其他躁狂量表高度相关，并与住院天数成正相关。治疗前与治疗两周后其得分改变有统计学意义，能反映治疗效果。"""
validity = u"""Younstrom将之用于612名情绪不良行为治疗研究的5~17岁的青少年，发现5~11岁低龄组的总分和某些项目得分高于12~17岁的大龄组，其内部一致性较好（α系数=0.91），因子分析得出单一因子结构，验证了YMRS也可用于青少年人群。"""
measurements = {'reliability':reliability,'validity':validity}

interpretation = u"""主要统计指标为总分。得分范围0~44分（按照0~4分评分规则）。一般0～5分为无明显躁狂症状，6～10分为有肯定躁狂症状，22分以上为严重躁狂症状。"""

applications = u"""本量表是精神科用得最广泛的评定量表之一，常作为验证新的躁狂症状评定量表的参照工具。"""

this_scale = {
    'chinese_name':chinese_name,
    'english_name':english_name,
    'abbreviation':abbreviation,
    'category':category,
    'outline':outline,
    'contents':contents,
    'implementation':implementation,
    'measurements':measurements,
    'interpretation':interpretation,
    'applications':applications    
    }

with open(abbreviation+'.json','w+',encoding='utf-8') as f:
    json.dump(this_scale,f,indent=2,ensure_ascii=False)